unsigned int
unsigned int(符号なし整数)は、4バイトの整数値を格納する点でintと同じです。 ただし、負の数と正の数の両方を格納する代わりに、符号なしのunsigned intには0〜4,294,967,295(正の値は2 ^ 32 - 1)の範囲の非負の値しか格納できません。
unsigned intと(signed)intの違いは、「符号」ビットと呼ばれることもある最高ビットが解釈される方法にあります。 Maple(Arduino STM32) int型(符号付き)の場合、上位ビットが "1"の場合、数値は2の補数演算と呼ばれる手法を使用して負数として解釈されます。 符号なし整数のビットは、バイナリを10進数に変換する通常の規則に従って解釈されます。
unsigned intには、通常のintと同じオーバーフローの問題があります。 唯一の違いは、符号なしintが0で "アンダーフロー"し、4,294,967,295で "overflow"することです。 これを示すいくつかのコード例を示します:
code:sample.ino
unsigned int x;
x = 0;
x--; // x now contains 4,294,967,295; rolled over "left to right"
x++; // x now contains 0; rolled over "right to left"
unsigned long型は、unsigned intの同義語です。
次に、pinという名前のunsigned int型変数を宣言し、その値に13を指定する例を示します。
code:sample.ino
unsigned int pin = 13;
varという名前のunsigned int型変数を宣言するための一般的な構文を次に示します。
code:sample.ino
unsigned int var = val;
関連項目
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。